草庐IT

c++ - C++中static的含义

全部标签

c++ - C++ 包装类的含义是什么?

我在理解包装类方面有点麻烦。如果有人能提供恰当的例子,那就太好了。什么是C++WrapperClass,在什么情况下编写?它有什么用处?谢谢。 最佳答案 “包装类”是一个事实上的术语,意思是“包装”资源的类;即,管理资源。当人们编写包装器时,他们正在做这样的事情:classint_ptr_wrapper{public:int_ptr_wrapper(intvalue=0):mInt(newint(value)){}//note!needscopy-constructorandcopy-assignmentoperator!~int_

c++ - 当两个链接的 static_cast 可以完成它的工作时,为什么我们在 C++ 中有 reinterpret_cast?

假设我想将A*转换为char*反之亦然,我们有两个选择(我的意思是,我们中的许多人认为我们有两个选择,因为两者似乎都有效!因此困惑!):structA{intage;charname[128];};Aa;char*buffer=static_cast(static_cast(&a));//choice1char*buffer=reinterpret_cast(&a);//choice2两者都可以正常工作。//convertbackA*pA=static_cast(static_cast(buffer));//choice1A*pA=reinterpret_cast(buffer);//

c++ - 当两个链接的 static_cast 可以完成它的工作时,为什么我们在 C++ 中有 reinterpret_cast?

假设我想将A*转换为char*反之亦然,我们有两个选择(我的意思是,我们中的许多人认为我们有两个选择,因为两者似乎都有效!因此困惑!):structA{intage;charname[128];};Aa;char*buffer=static_cast(static_cast(&a));//choice1char*buffer=reinterpret_cast(&a);//choice2两者都可以正常工作。//convertbackA*pA=static_cast(static_cast(buffer));//choice1A*pA=reinterpret_cast(buffer);//

c++ - OpenMP 中的 "static"和 "dynamic"调度有什么区别?

我开始使用C++使用OpenMP。我有两个问题:什么是#pragmaompforschedule?dynamic有什么区别和static?请举例说明。 最佳答案 其他人已经回答了大部分问题,但我想指出一些特定的情况,其中特定的调度类型比其他的更适合。调度控制如何在线程之间划分循环迭代。选择正确的时间表会对应用程序的速度产生很大的影响。static调度意味着迭代块以循环方式静态映射到执行线程。静态调度的好处在于,OpenMP运行时保证如果您有两个具有相同迭代次数的独立循环并使用静态调度以相同数量的线程执行它们,那么每个线程将获得完全相

c++ - OpenMP 中的 "static"和 "dynamic"调度有什么区别?

我开始使用C++使用OpenMP。我有两个问题:什么是#pragmaompforschedule?dynamic有什么区别和static?请举例说明。 最佳答案 其他人已经回答了大部分问题,但我想指出一些特定的情况,其中特定的调度类型比其他的更适合。调度控制如何在线程之间划分循环迭代。选择正确的时间表会对应用程序的速度产生很大的影响。static调度意味着迭代块以循环方式静态映射到执行线程。静态调度的好处在于,OpenMP运行时保证如果您有两个具有相同迭代次数的独立循环并使用静态调度以相同数量的线程执行它们,那么每个线程将获得完全相

c++ - 在 C 和 C++ 中,const 指针对指针的含义是什么?

我知道从右到左阅读声明的经验法则,我很确定我知道发生了什么,直到一位同事告诉我:constMyStructure**ppMyStruct;表示“ppMyStruct是指向(可变)MyStructure的const指针的指针”(在C++中)。我原以为它的意思是“ppMyStruct是指向constMyStructure的指针的指针”。我在C++规范中寻找答案,但显然我不是很擅长...in在C++中是什么意思,在C中是什么意思? 最佳答案 你的同事错了。那是一个(非常量)指针,指向一个(非常量)指向constMyStructure的指针

c++ - 在 C 和 C++ 中,const 指针对指针的含义是什么?

我知道从右到左阅读声明的经验法则,我很确定我知道发生了什么,直到一位同事告诉我:constMyStructure**ppMyStruct;表示“ppMyStruct是指向(可变)MyStructure的const指针的指针”(在C++中)。我原以为它的意思是“ppMyStruct是指向constMyStructure的指针的指针”。我在C++规范中寻找答案,但显然我不是很擅长...in在C++中是什么意思,在C中是什么意思? 最佳答案 你的同事错了。那是一个(非常量)指针,指向一个(非常量)指向constMyStructure的指针

c++ - static_cast 和 reinterpret_cast 有什么区别?

这个问题在这里已经有了答案:关闭11年前.PossibleDuplicate:Whenshouldstatic_cast,dynamic_castandreinterpret_castbeused?我在c++中使用c函数,其中在c中作为void类型参数传递的结构直接存储相同的结构类型。例如在C中。voidgetdata(void*data){Testitem*ti=data;//Testitemisofstructtype.}为了在c++中做同样的事情,我使用static_cast:voidfoo::getdata(void*data){Testitem*ti=static_cast(

c++ - static_cast 和 reinterpret_cast 有什么区别?

这个问题在这里已经有了答案:关闭11年前.PossibleDuplicate:Whenshouldstatic_cast,dynamic_castandreinterpret_castbeused?我在c++中使用c函数,其中在c中作为void类型参数传递的结构直接存储相同的结构类型。例如在C中。voidgetdata(void*data){Testitem*ti=data;//Testitemisofstructtype.}为了在c++中做同样的事情,我使用static_cast:voidfoo::getdata(void*data){Testitem*ti=static_cast(

C++11 static_assert 和模板实例化

在C++11中,模板内的static_assert操作是否应该取决于该模板是否已被实例化?比如下面的代码templatevoidsa(){static_assert(0,"Hello.");}intmain(intargc,char*argv[]){return0;}GCC4.5.0将使断言失败,并产生“Hello”。信息。另一方面,数字火星编译器版本8.42n不提供任何消息。 最佳答案 GCC是正确的,其他编译器也是正确的。引用规范中的14.6p8Ifnovalidspecializationcanbegeneratedforat